## API Report File for "@backstage/plugin-search-react"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api';
import { ExtensionDefinition } from '@backstage/frontend-plugin-api';
import { ListItemProps } from '@material-ui/core';
import { PortableSchema } from '@backstage/frontend-plugin-api';
import { SearchDocument } from '@backstage/plugin-search-common';
import { SearchResult } from '@backstage/plugin-search-common';

// @alpha (undocumented)
export type BaseSearchResultListItemProps<T = {}> = T & {
  rank?: number;
  result?: SearchDocument;
} & Omit<ListItemProps, 'button'>;

// @alpha (undocumented)
export function createSearchResultListItemExtension<
  TConfig extends {
    noTrack?: boolean;
  },
>(
  options: SearchResultItemExtensionOptions<TConfig>,
): ExtensionDefinition<TConfig>;

// @alpha (undocumented)
export namespace createSearchResultListItemExtension {
  const // (undocumented)
    itemDataRef: ConfigurableExtensionDataRef<
      {
        predicate?: SearchResultItemExtensionPredicate | undefined;
        component: SearchResultItemExtensionComponent;
      },
      {}
    >;
}

// @alpha (undocumented)
export type SearchResultItemExtensionComponent = <
  P extends BaseSearchResultListItemProps,
>(
  props: P,
) => JSX.Element | null;

// @alpha (undocumented)
export type SearchResultItemExtensionOptions<
  TConfig extends {
    noTrack?: boolean;
  },
> = {
  namespace?: string;
  name?: string;
  attachTo?: {
    id: string;
    input: string;
  };
  configSchema?: PortableSchema<TConfig>;
  component: (options: {
    config: TConfig;
  }) => Promise<SearchResultItemExtensionComponent>;
  predicate?: SearchResultItemExtensionPredicate;
};

// @alpha (undocumented)
export type SearchResultItemExtensionPredicate = (
  result: SearchResult,
) => boolean;

// (No @packageDocumentation comment for this package)
```
